1. Field of the Invention
The present invention relates generally to random number generator methods and apparatus, and more particularly to an improved method and apparatus for randomly seeding a random-numbered generator.
2. Background of the Invention
In many types of devices, random number generators (RNGs) are used to generate numbers that are used for certain computational purposes, and it is usually important that the starting number or xe2x80x9cSeed Valuexe2x80x9d be truly random because it is this seed value that will determine the sequence of numbers that the RNG will ultimately produce. In one type of application, RNG devices are used in various types of gaming machines including for example, slot machines and similar gambling apparatus, to produce the numbers used to drive the apparatus. See for example, Yfantis, U.S. Pat. No. 5,871,400, issued Feb. 16, 1999, and entitled xe2x80x9cRandom Number Generator For Electronic Applicationsxe2x80x9d, expressly incorporated hereinto by reference. Because each machine must operate totally independently of every other machine, the seed value of each machine must be different from that of the others because the seed value will ultimately determine the sequence of numbers that the RNG will produce to drive the game. If two slot machines with the same RNG algorithm are seeded with the same seed value, both machines will produce the same sequence of numbers. This is not permissible because slot machines must include as much randomness as is possible in order to make them xe2x80x9cfairxe2x80x9d and unpredictable. It is therefore desirable that the RNG seeds for each machine be unknown, unpredictable and different from one machine to another.
Before a gaming device such as a slot machine can be put in service, the machine must be initialized. In the usual case, the slot machine goes through at least three phases during initialization; namely, set-up, seeding and finally, the seeded phase, and it is not until the seeded state is reached that a player will be able to use the machine in a normal course of play. The set-up phase is simply a power-on and initialization phase where RAM tests are performed and the various software and hardware modules are initialized. During the seeding phase, a random number is input to the machine, and once loaded, the apparatus is said to be seeded and play can commence. in the prior art various technologies have been used to select a seed value but such value was generated in a way that permitted inspection and the possibility of tampering. There is therefore a need for a method and apparatus that will permit the generation of a seed value that is totally random, unpredictable, and always different from one machine to another.
An object of the present invention is to provide a novel method and apparatus for generating the seed number to be used in a random number generator.
Another object of the present invention is to provide a method and apparatus for randomly generating and loading a seed number into a register within the random number generator.
Still another object of the present invention is to provide a method and apparatus by which a seed can be randomly generated and loaded into the seed register of an RNG during set-up of the gaming or other apparatus incorporating an RNG.
Briefly, a preferred embodiment of the present invention includes the provision of an RNG seed register and means for capturing a current count number from one or more fast running counters contained within the apparatus upon the occurrence of an act or acts by an apparatus operator as he performs the normal set-up and initialization function. In the preferred embodiment means are provided for sensing particular acts of the operator, and upon detection of each such xe2x80x9ceventxe2x80x9d, one or more of the counters within the system are read and the count value is appended to previously captured counter values until the desired seed length is obtained. At this time, the RNG is said to be seeded, the initialization phase is completed and the apparatus may be made available to players to commence game play or other use of the apparatus.
An important advantage of the present invention is that it uses a random sequence and timing of events to obtain a plurality of unknown count values which when captured in sufficient quantity, will constitute a seed number which is totally unknown, unpredictable and different from one machine to another.
Another advantage of the present invention is that it creates a seeding operation in which it is virtually impossible for the operator to influence the seeding process in a predictable way to obtain a predictable seed number.
These and other objects of the present invention will no doubt become apparent to those skilled in the art after having read the following detailed description of preferred embodiments.